package com.ruben.state;

/**
 * 抽象状态，状态共有属性和公共方法
 *
 * @author <achao1441470436@gmail.com>
 * @since 2021/10/17 18:14
 */
public abstract class BaseState implements State {
    /**
     * 上下文，用于变更
     */
    protected Context context;

    public BaseState() {
    }

    public BaseState(Context context) {
        this.context = context;
        System.out.println("已通过带参构造器设置上下文对象");
    }

    /**
     * 设置上下文
     *
     * @param context 上下文
     */
    @Override
    public void setContext(Context context) {
        this.context = context;
        System.out.println("已通过setter设置上下文对象");
    }
}
